package interview.linkedlist;

import algorithm.model.ListNode;

/**
 * 相交列表
 * 如果列表相交，则返回相交的点
 * 如果不相交，则返回null
 *
 * 最优解：O(n)时间复杂度，O(1)内存复杂度
 * Created by yzy on 2021-02-01 10:31
 */
public class insersectionOfTwoLinedList {

    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        if(headA==null || headB==null){
            return null;
        }
        ListNode a = headA;
        ListNode b = headB;
        while(a != b){
            a = a==null ? headB : a.next;
            b = b==null ? headA : b.next;
        }
        return a;
    }
}
